1. Field of the Invention
This invention relates to information handling systems for processing graphical data and in particular, to graphics display systems for processing graphics data stored as a hierarchical structure of graphics display elements. More particularly, this invention relates to the management of graphics display data elements in a graphics display device.
2. Background Information
Graphics display systems used in the area of computer aided design (CAD), and computer aided engineering (CAE) display images created based upon graphics orders entered into the system. The graphics orders define objects in terms of attributes such as color and primitive drawing operations for, e.g. a line, point, or polygon. Complex graphical images can be represented or modelled as a combination of graphical primitives. Modern graphics display systems implement hierarchical graphics data model to allow a single low level object definition or sequence of definitions to be repetitively used to express a more complex object. Thus, for example, a primitive definition of a single wheel may be entered into the graphics display system and then used repetitively to define the wheels of an automobile on a computer aided design application.
Emerging standards for graphics system programming, e.g. PHIGS (Programmer's Hierarchical Interactive Graphics System), provides a set of functions for the definition, display, and manipulation of graphical data and geometrically related objects. An interface standard such as PHIGS allows a particular graphics application program to be written at a high level without concern for the detailed implementation in a particular graphics display system. The use of this higher level language allows application programs to be transferred between various types of equipment with only minor modification.
The logical data flow of a system employing a hierarchical data structure is presented in FIG. 1. User application program 100 passes a data stream 102 containing the graphics interface commands to a graphics processing system. The data stream information is divided into two categories: structure storage 104 and workstation state list 106. Structure storage 104 contains the detailed descriptions of the graphics elements to be displayed while workstation state list 106 contains information necessary to establish the workstation environment. A workstation program operating on the structure storage and workstation state list produces the final image to be generated on the display surface 108.
An example of a hardware architecture used to implement this form of graphics display system is shown in FIG. 2. Communications processor 110 provides an interface to a host system containing graphics orders and, potentially, the user applications program in graphical database. System control processor 112 manages the geometric database and controls the overall operations of the graphics display system. The system control processor will be discussed in greater detail below. Graphics command processor 114 interprets the graphics commands placed in the system memory 113 by system control processor 112 and generates the detailed commands required by display processor 116 containing the associated geometric processing unit 118 and rendering unit 120. The final outputs of the display processor are pixel definition signals sent on line 122 to the frame buffer for display on a display device.
The operation of the multiprocessor system described above is presented in greater detail in application Ser. No. 07/425,891, now U.S. Pat. No. 5,182,793 entitled "A Multiprocessor Graphics Display System for Displaying Hierarchical Data Structures", filed Oct. 23, 1989. The system control processor 112 is responsible for maintaining the structure storage list 104 in system memory 113 in response to operator editing requests. The system control processor is connected to an I/O processor 124 that processes data from various operator control devices such as a keyboard 126, stylus and tablet 128, or program function keys 130. The operator uses these devices to communicate with the graphics display system and to perform editing and update tasks on the graphics objects.
Systems for handling operator interaction must be able to rapidly access operator referenced data and to quickly and efficiently implement the modifications requested by the operator. As the capacity of graphics display systems has increased and the models have become increasingly large, prior art methods of data location and update have become ineffective. Current methods for accessing structure storage information have become too slow to support the real time operator interaction demanded by system users.